The modern communications era has brought about a tremendous expansion of wireline and wireless networks. Computer networks, television networks, and telephony networks are experiencing an unprecedented technological expansion, fueled by consumer demand. Wireless and mobile networking technologies have addressed related consumer demands, while providing more flexibility and immediacy of information transfer.
Current and future networking technologies continue to facilitate ease of information transfer and convenience to users. One such delivery technique that has shown promise is Digital Video Broadcasting (DVB). In this regard, DVB-T, which is related to DVB-C (cable) and DVB-S (satellite), is the terrestrial variant of the DVB standard. As is well known, DVB-T is a wireless point-to-multipoint data delivery mechanism developed for digital TV broadcasting, and is based on the MPEG-2 transport stream for the transmission of video and synchronized audio. DVB-T has the capability of efficiently transmitting large amounts of data over a broadcast channel to a high number of users at a lower cost, when compared to data transmission through mobile telecommunication networks using, e.g., 3G systems. Advantageously, DVB-T has also proven to be exceptionally robust in that it provides increased performance in geographic conditions that would normally affect other types of transmissions, such as the rapid changes of reception conditions, and hilly and mountainous terrain. On the other hand, DVB-H (handheld), which is also related to DVB-T, can provide increased performance particularly for wireless data delivery to handheld devices.
Digital broadband data broadcast networks are known. As mentioned, an example of such a network enjoying popularity in Europe and elsewhere world-wide is DVB which, in addition to the delivery of television content, is capable of delivering data, such as Internet Protocol (IP) datagrams. Other examples of broadband data broadcast networks include Japanese Terrestrial Integrated Service Digital Broadcasting (ISDB-T), Digital Audio Broadcasting (DAB), and MBMS, and those networks provided by the Advanced Television Systems Committee (ATSC). In many such systems, a containerization or encapsulation technique, such as a multi-protocol encapsulation (MPE) technique, is utilized to place the IP datagrams into packets which act as data containers. Thus, the containers can be utilized to transport any suitably digitized data including, but not limited to High Definition TV, multiple channel Standard definition TV (PAUNTSC or SECAM) and, of course, broadband multimedia data and interactive services.
In accordance with broadband data broadcasting techniques such as DVB-H, a channel coding technique such as forward error correction (FEC) (e.g., Reed-Solomon coding) technique can be used to correct transmission errors in the receivers. In this regard, before encapsulating the IP datagrams, channel coding techniques may add some redundancy (parity bits) to the IP datagrams in accordance with, the parity bits being thereafter used in the receivers to correct errors. As will be appreciated, however, coding alone is typically not sufficient in a fading mobile channel. As such, to spread any error bursts before decoding in the receiver, the IP datagrams can be coded and encapsulated in accordance with an interleaving/de-interleaving technique. For an example of such a technique, see U.S. patent application Ser. No. 10/382,334, entitled: System and Method for Data Transmission and Reception, filed Mar. 5, 2003, the contents of which are hereby incorporated by reference in its entirety. More particularly, before encapsulating the IP datagrams, the IP datagrams or a copy of the IP datagrams can be fit column-wise or row-wise into an application data table until the next IP datagram cannot fully fit into the application data table or until reaching the cycle time for the service including the IP datagrams. Thereafter, one or more partial or full columns or rows of zero padding can be added after the last full IP datagram to the end of the application data table.
Thereafter, coding such as Reed-Solomon (RS) can be calculated row-wise for each row of the application data table including column-wise IP datagrams, with the resulting RS parity bytes added to a corresponding row in a coding (e.g., RS) data table associated with the application data table. In such instances, the RS parity bytes of each row can themselves form a number of columns of RS data. Alternatively, for an application data table including row-wise IP datagrams, RS coding can be calculated column-wise for each column of the application data table, with the resulting RS parity bytes added to a corresponding column of the RS data table such that the RS parity bytes of each column can form a number of rows of RS data. In either event, however, the resulting application data table and coding data table can then be referred to as an MPE-FEC array or frame.
After filling in the application and coding data tables, the IP datagrams can be read out of the application data table in a column-wise or row-wise manner and encapsulated into MPE sections. Alternatively, if the application data table is filled with copies of the IP datagrams, the original IP datagrams can be encapsulated into MPE sections without waiting for the application data table being filled. In either event, however, the zero padding is typically not read out and encapsulated. The RS data can also be read out of the RS data table in a column-wise or row-wise manner, and encapsulated into MPE-FEC sections. Each section, then, can include an IP datagram or RS data, and also include a header including real-time parameters (e.g., section-specific parameters), and a trailer including a cyclic redundancy check (e.g., CRC-32). The resulting MPE and MPE-FEC sections can be referred to as an MPE section stream.
After encoding and encapsulating the IP datagrams, the resulting MPE section stream can be modulated and broadcast to one or more terminals. In accordance with broadcasting techniques such as DVB-H, however, before the MPE section stream is modulated, the MPE section stream can be time sliced with MPE section streams of a number services broadcast in a number of channels. In this regard, the MPE section streams for a number of services broadcast in a number of channels can be time-sliced into channel bursts before broadcasting to the receivers to thereby permit the receivers to only remain active for a fragment of the time. Time-slicing therefore results in considerable power saving, and makes it possible for the receivers to monitor neighboring cells for handover.
Whereas broadcasting techniques such as that described above are adequate to broadcast content in a broadband data broadcasting network, such broadcasting techniques have drawbacks. Conventionally, the maximum size of an MPE-FEC frame is fixed for one service, and the transmission capacity is reserved for this maximum frame size. However, the bit rate of streaming data is not typically constant. As such, because the capacity is reserved for the full frame, MPE-FEC frames typically include an amount of padding/unused capacity for that portion of the MPE-FEC frame that is not filled with IP datagrams. Even in such an instance, however, if the maximum size of the MPE-FEC frame is too small, the content that does not fit into the frame may be deleted.
When the maximum MPE-FEC frame size for a service is fixed and the bit rate of incoming data varies, it may be the case that the number of columns in the application data table is not filled with content, but is instead filled with padding. As the padded columns are not encoded and broadcast, the used bandwidth is less than that reserved for a full-size frame, and thus, bandwidth is wasted. On the other hand, if the bit rate of the incoming data is high enough, it may be the case that all of the incoming content cannot be placed into the frame, and are consequently discarded. Thus, it would be desirable to design a system and method of broadcasting content in a manner that reduces the frame size variation of encapsulated data streams to thereby maximize the used bandwidth, while reducing the amount of content discarded as not fitting within a current MPE-FEC frame, and thus the encapsulated data stream.